What is keycode?
The keycode npm package is a utility for converting between keyboard key codes and their corresponding key names. It simplifies the process of handling keyboard events by providing easy-to-use functions for key code and key name conversions.
What are keycode's main functionalities?
Convert Key Code to Key Name
This feature allows you to convert a key code to its corresponding key name. For example, the key code 13 corresponds to the 'Enter' key.
const keycode = require('keycode');
const keyName = keycode(13); // 'enter'
console.log(keyName);
Convert Key Name to Key Code
This feature allows you to convert a key name to its corresponding key code. For example, the key name 'enter' corresponds to the key code 13.
const keycode = require('keycode');
const keyCode = keycode('enter'); // 13
console.log(keyCode);
Handle Keyboard Events
This feature allows you to handle keyboard events by converting the event object to a key name. This can be useful for logging or handling specific key presses in your application.
const keycode = require('keycode');
document.addEventListener('keydown', (event) => {
const keyName = keycode(event);
console.log(`Key pressed: ${keyName}`);
});
Other packages similar to keycode
keycode-js
The keycode-js package provides a similar functionality to keycode by offering a set of constants for key codes and functions to convert between key codes and key names. It is more focused on providing a comprehensive list of key codes as constants.
mousetrap
Mousetrap is a library for handling keyboard shortcuts in JavaScript. While it offers more advanced features for binding and handling keyboard shortcuts, it also includes functionality for converting key codes to key names and vice versa. It is more feature-rich compared to keycode.
hotkeys-js
Hotkeys-js is a library for handling keyboard shortcuts in JavaScript. It provides a simple API for binding and unbinding keyboard shortcuts and includes functionality for key code and key name conversions. It is similar to keycode but with additional features for managing keyboard shortcuts.
keycode
Simple map of keyboard codes.
Installation
npm
$ npm install keycode
component
$ component install timoxley/keycode
Example
var keycode = require('keycode');
document.addEventListener('keydown', function(e) {
console.log("You pressed", keycode(e))
})
API
keycode
tries to make an intelligent guess as to what
you're trying to discover based on the type of argument
you supply.
keycode(keycode:Event)
Returns the name of the key associated with this event.
document.body.addEventListener('keyup', function(e) {
console.log(keycode(e))
})
Due to the keypress event being weird,keycode
currently does not support the keypress
event, but this should not be an issue as keydown
and keyup
work perfectly fine.
keycode(keycode:Number)
Returns the lowercase name of a given numeric keycode.
keycode(13)
keycode(name:String)
Returns the numeric keycode for given key name.
keycode('Enter')
keycode('eNtEr')
Name Aliases
Common aliases are also supplied:
> for (var alias in keycode.aliases) { console.log(alias, keycode(keycode(alias))) }
ctl ctrl
pause pause/break
break pause/break
caps caps lock
escape esc
pgup page up
pgdn page down
ins insert
del delete
spc space
keycode.isEventKey(event: Event, nameOrCode: String | Number)
Tests if an keyboard event against a given name or keycode.
Will return true
if the event matches the given name or keycode, false
otherwise.
keycode.isEventKey(event, 'enter')
keycode.isEventKey(event, 'down')
keycode.isEventKey(event, 13)
keycode.isEventKey(event, 40)
Maps
Key code/name maps are available directly as keycode.codes
and keycode.names
respectively.
keycode.names[13]
keycode.codes['enter']
Credit
project : keycode
repo age : 3 years, 8 months
active : 29 days
commits : 66
files : 13
authors :
49 Tim Oxley 74.3%
4 jkroso 6.1%
3 Amir Abu Shareb 4.5%
1 Greg Reimer 1.5%
1 Kenan Yildirim 1.5%
1 Abel Toledano 1.5%
1 Sam 1.5%
1 TJ Holowaychuk 1.5%
1 Yoshua Wuyts 1.5%
1 Nathan Zadoks 1.5%
1 Brenton Simpson 1.5%
1 Brian Noguchi 1.5%
1 Gilad Peleg 1.5%
Original key mappings lifted from http://jsfiddle.net/vWx8V/ via http://stackoverflow.com/questions/5603195/full-list-of-javascript-keycodes
License
MIT